package com.cwl.pattern.策略模式;

/**
 * @program: pattern
 * @description: 满减活动
 * @author: ChenWenLong
 * @create: 2019-06-24 14:00
 **/
public class CashReturn extends CashSuper {

    private Double moneyCondition =0.0D;//返利的条件
    private Double moneyReturn =0.0D;//满足多少条件之后返利多少
    /**
     * 使用构造方法来初始化返利的条件和达到返利条件之后的返利钱数
     *
     * @param moneyCondition
     * @param moneyReturn
     */
    public CashReturn(String moneyCondition, String moneyReturn) {
        this.moneyCondition = Double.parseDouble(moneyCondition);
        this.moneyReturn = Double.parseDouble(moneyReturn);
    }
    /**
     * 判断如果当前的钱数已经大于需要返利的钱数,那就使用Math.floor方法格式化小数点后的小数,是一个取整数的方法
     *
     * @param money
     * @return
     */
    @Override
    public Double acceptCash(Double money) {
        Double result = money;
        if (money >=moneyCondition) {
            result = money - Math.floor(money /moneyCondition) *moneyReturn;
        }
        return result;
    }
}
